(SW Expert Academy) 셋, 딕셔너리 - 6259번 6260번 6261번 6262번

7번 - 6259번

  • 시간 : 1개 테스트케이스를 합쳐서 Python의 경우 1초
  • 메모리 : 힙, 정적 메모리 합쳐서 256MB 이내, 스택 메모리 1MB 이내

문자인지 확인 - isalpha() / 숫자인지 확인 - isdigit() 함수를 사용해도 됨
배우지 않았다는 가정하에 아래와 같이 코딩함

def is_num_or_str(str_list):
ans_dict = dict(letters=0, digits=0)
for letter in str_list: # if letter.isalpha():
if (letter>='a' and letter<='z') or (letter>='A' and letter<='Z'):
ans_dict['letters'] += 1 # elif letter.isdigit():
elif letter>='0' and letter<='9':
ans_dict['digits'] += 1
return ans_dict

sentence = list(input())
ans = is_num_or_str(sentence)
print("LETTERS {}\nDIGITS {}".format(\*ans.values()))

8번 - 6260번

  • 시간 : 1개 테스트케이스를 합쳐서 Python의 경우 1초
  • 메모리 : 힙, 정적 메모리 합쳐서 256MB 이내, 스택 메모리 1MB 이내

대 소문자 구분

def is_num_or_str(str_list):
ans_dict = dict(upper=0, lower=0)
for letter in str_list:
if letter>='a' and letter<='z':
ans_dict['lower'] += 1
elif letter>='A' and letter<='Z':
ans_dict['upper'] += 1
return ans_dict

sentence = list(input())
ans = is_num_or_str(sentence)
print("UPPER CASE {}\nLOWER CASE {}".format(\*ans.values()))

**


9번 - 6261번

  • 시간 : 1개 테스트케이스를 합쳐서 Python의 경우 1초
  • 메모리 : 힙, 정적 메모리 합쳐서 256MB 이내, 스택 메모리 1MB 이내

문제에서 제시한 출력 값이랑 채점할 때 비교되는 출력 값이랑 차이가 있음(이거 찾는다고 여러번 틀림)
주석 처리된 부분 ‘# 인상 전, # 인상 후’ 이 부분은 출력 안해도됨

beer = {'하이트': 2000, '카스': 2100, '칭따오': 2500, '하이네켄': 4000, '버드와이저': 500}
print(beer)
beer_raise = {key:beer[key]\*1.05 for key in beer}
print(beer_raise)

**


10번 - 6262번

  • 시간 : 1개 테스트케이스를 합쳐서 Python의 경우 1초
  • 메모리 : 힙, 정적 메모리 합쳐서 256MB 이내, 스택 메모리 1MB 이내
letters = input()
alpha = dict()
for i in letters:
alpha[i] = alpha.get(i, 0) + 1
for key, value in alpha.items():
print("{},{}".format(key, value))